package com.rw.dao;

import com.rw.pojo.Account;
import org.apache.ibatis.annotations.Param;

import java.sql.SQLException;

/**
 * @author rabit
 */
public interface AccountDao {

//    /**
//     * 通过用户账号和密码查询账户信息
//     * @param aid 用户账号
//     * @param apwd 密码
//     * @return 如果信息正确返回用户的实体，不存在返回null
//     */
//    Account getAccount(int aid,String apwd) throws SQLException;

//    /**
//     * 通过aid查询用户的账户信息
//     * @param aid  aid
//     * @return 如果信息正确返回用户的实体，不存在返回null
//     * @throws SQLException
//     */
//    Account getAccountByAid(Integer aid)  throws SQLException;

    /**
     * 通过aid和账户的金额查询账户信息，金额必须小于账户余额
     * @param aid aid
     * @param money 金额
     * @return 如果信息正确返回用户的实体，不存在返回null
     * @throws SQLException
     */
    Account getAccountByAidAndMoney(@Param("aid") Integer aid, @Param("money") Double money) throws SQLException;

    /**
     * 通过收款人的账号和姓名查询信息
     * @param inUid  收款人的账号
     * @param inUname 收款人姓名
     * @return 返回账户信息
     * @throws SQLException
     */
    Account getInAccount(@Param("uid") Integer inUid,@Param("uname") String inUname) throws SQLException;

    /**
     * 根据账户的aid修改账户的金额
     * @return 修改的数据条数
     */
    int changeMoney(Account account) throws SQLException;

    int changeMoney2(Account account) throws SQLException;

//    Account getAccountByUid(Integer uid) throws SQLException;

    Account select(Account account);
}
